// var n;
// var s = cc._decorator;
// var f = s.ccclass;
// var h = s.property;
// var c = s.requireComponent;
// var u = s.menu;
// var d = s.executeInEditMode;
// var l = (function () {
//     function e() {
//         this.lang = "zh";
//         this.sprite = null;
//     }
//     __decorate(
//         [
//             h({
//                 type: cc.String,
//                 displayName: "语言包"
//             })
//         ],
//         e.prototype,
//         "lang",
//         void 0
//     );
//     __decorate(
//         [
//             h({
//                 type: cc.SpriteFrame,
//                 displayName: "语言包图片"
//             })
//         ],
//         e.prototype,
//         "sprite",
//         void 0
//     );
//     return __decorate([f("StartScene_LangPack")], e);
// })();
// var p = (function (e) {
//     function t() {
//         var t = (null !== e && e.apply(this, arguments)) || this;
//         t.packs = [];
//         return t;
//     }
//     __extends(t, e);
//     t.prototype.onLoad = function () {
//         this.node.getComponent(cc.Sprite);
//     };
//     t.prototype.start = function () {
//         var e = window.language;
//         var t = this.node.getComponent(cc.Sprite);
//         for (var r in this.packs) {
//             var i = this.packs[r];
//             if (i.lang == e) {
//                 t.spriteFrame = i.sprite;
//                 break;
//             }
//         }
//     };
//     __decorate(
//         [
//             h({
//                 type: [l]
//             })
//         ],
//         t.prototype,
//         "packs",
//         void 0
//     );
//     return __decorate([f, c(cc.Sprite), d(), u("AL_GAME_HUA/StartScene_LangSprite")], t);
// })(cc.Component);
// exports.default = p;

// 引入 Cocos Creator 的装饰器模块
const { ccclass, property, requireComponent, menu, executeInEditMode } = cc._decorator;

/**
 * 语言包类
 */
@ccclass("StartScene_LangPack")
class LangPack {
    /**
     * @type {string} 语言
     */
    @property({
        displayName: "语言包"
    })
    lang = "zh";

    /**
     * @type {cc.SpriteFrame} 语言包图片
     */
    @property({
        type: cc.SpriteFrame,
        displayName: "语言包图片"
    })
    sprite = null;
}

/**
 * 语言精灵类
 */
@ccclass
@requireComponent(cc.Sprite)
@executeInEditMode()
@menu("AL_GAME_HUA/StartScene_LangSprite")
class StartScene_LangSprite extends cc.Component {
    /**
     * 语言包数组
     * @type {Array<LangPack>}
     */
    @property({
        type: [LangPack]
    })
    packs = [];

    /**
     * 加载时获取精灵组件
     */
    onLoad() {
        this.node.getComponent(cc.Sprite);
    }

    /**
     * 启动时根据当前语言设置精灵
     */
    start() {
        // 获取当前语言
        const currentLanguage = window.language;
        // 获取当前节点的精灵组件
        const spriteComponent = this.node.getComponent(cc.Sprite);

        // 遍历语言包数组，匹配当前语言并设置精灵帧
        for (let pack of this.packs) {
            if (pack.lang === currentLanguage) {
                spriteComponent.spriteFrame = pack.sprite;
                break;
            }
        }
    }
}

// 导出默认类
exports.default = StartScene_LangSprite;
